const sharp = require('sharp');  
const fs = require('fs');  
const path = require('path');  
const inputDir = path.join(__dirname, './originImages'); // 输入文件夹路径
const outputDir = path.join(__dirname, './resultImages'); // // 输出文件夹路径  
if (!fs.existsSync(outputDir)) {  fs.mkdirSync(outputDir) } // 确保输出文件夹存在  
const imageFiles = fs.readdirSync(inputDir).filter(file => file.match(/\.(jpeg|jpg|png|gif)$/i)); // 获取输入文件夹中的所有图片文件  根据文件扩展名过滤图片文件  
// 遍历并压缩每张图片  
imageFiles.forEach(file => {  
  const inputImagePath = path.join(inputDir, file);  
  const outputImagePath = path.join(outputDir, file);  
  sharp(inputImagePath)  
    .resize(300) // ！！！！！！！！可选：调整图片大小  --------> .resize(200, 150)代表图片压缩到宽度200px高度150px
    .jpeg({ quality: 70 }) // ！！！！！！根据需要设置格式和质量  
    // ！！！！！！！如果原图片不是 JPEG 格式，你可能需要根据文件扩展名来设置输出格式  
    // ！！！！例如，可以使用 sharp().png() 或 sharp().gif() 等方法  
    .toFile(outputImagePath, (err, info) => {  
      if (err) {  
        console.error(`压缩图片 ${file} 时出错:`, err);  
      } else {  
        console.log(`图片 ${file} 压缩成功:`, info);  
      }  
    });  
});  